﻿#define  _CRT_SECURE_NO_WARNINGS 1

//1.写⼀个函数将⼀个整型数组的内容，全部置为 - 1，再写⼀个函数打印数组的内容。
#include <stdio.h>
//void set_arr(int arr[10], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		arr[i] = -1;
//	}
//}
//void print_arr(int arr[10], int sz)
//{
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	printf("\n"); // 每次调用此函数打印的信息都在不同行
//}
//
//int main()
//{
//	int arr[10] = { 0 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	set_arr(arr, sz); // 传参传数组的时候，写数组名即可
//	print_arr(arr, sz);// 打印
//	return 0;
//}

//2.写⼀个函数my_strcpy，实现拷⻉字符串的功能，假设给定⼀个字符数组a，再给定⼀个字符数组
//b，将字符串a中的内容拷⻉到字符串b中，拷⻉内容包含字符串末尾的 \0 字符。
// 字符一定要用'\0' 不可以使用" \0"
//void my_strcpy(char* dest, const char* src)
//{
//	// dest:目标字符数组指针，用于存储拷贝后的字符串
//	// stc：源字符数组指针，被拷贝的字符串（加const修饰，防止函数内部意外修改源字符串）
//	while (*src != '\0')
//	{
//		*dest = *src; // 拷贝
//		dest++;
//		src++;
//	}
//	// 拷贝源字符串的结束标志
//	*dest = '\0';
//}
//int main()
//{
//	char arr1[] = "hello world";
//	char arr2[20] = { 0  };
//
//	// 调用函数将字符串arr1中的内容拷贝到字符串arr2中
//	my_strcpy(arr2, arr1);
//	printf("%s\n", arr2);
//	return 0;
//}



//3.输⼊两个升序排列的序列，将两个序列合并为⼀个有序序列并输出。
//输⼊包含三⾏，第⼀⾏包含两个正整数n, m，⽤空格分隔。n表⽰第⼆⾏第⼀个升序序列中数字的个
//数，m表⽰第三⾏第⼆个升序序列中数字的个数。其中
//1 <= n <= 30, 1 <= m <= 30 第⼆⾏包含 n 个整数，⽤空格分隔。
//第三⾏包含 m 个整数，⽤空格分隔。
//输出为⼀⾏，输出⻓度为n + m的升序序列，即⻓度为n的升序序列和⻓度为m的升序序列中的元素重
//新进⾏升序序列排列合并。
int main()
{
	int n = 0;
	int m = 0;
	scanf("%d %d", &n, &m);
	int arr1[30] = { 0 };
	int arr2[30] = { 0 };
	int arr3[60] = { 0 };
	int i = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr1[i]);
	}
	for (i = 0; i < m; i++)
	{
		scanf("%d", &arr2[i]);
	}
	i = 0;
	int j = 0;
	int k = 0;

	while (i < n && j < m)
	{
		if (arr1[i] < arr2[j])
		{
			arr3[k] = arr1[i];
			i++;
			k++;
		}
		else
		{
			arr3[k] = arr2[j];
			j++;
			k++;
		}
	}
	if (i == n)
	{
		for (; j < m; j++)
		{
			arr3[k] = arr2[j];
			k++;
		}
	}

	//若指针j越界，则arr2数组所有元素已经放⼊arr3数组
	//arr1数组中有剩余元素，将它们依次放⼊arr3数组
	if (j == m)
	{
		for (; i < n; i++)
		{
			arr3[k] = arr1[i];
			k++;
		}
	}
	//打印
	for (k = 0; k < m + n; k++)
	{
		printf("%d ", arr3[k]);
	}
	return 0;
}
